package com.ym.medical.domain.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ym.common.constant.BaseEntity;
import com.ym.medical.enums.CollectLableTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.util.Date;

/**
 * 收藏有问诊记录，药品，器械，文章对象 user_collection
 *
 * @author ym
 * @date 2020-09-04
 */
@ApiModel("收藏有问诊记录，药品，器械，文章-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "user_collection")
public class UserCollectionEntity extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /**
     * null
     */
    @ApiModelProperty("null")
    private Long userId;

    /**
     * 0 问诊，1 文章， 2 视频
     */
    @ApiModelProperty("0 问诊，1 文章， 2 视频")
    @JsonSerialize(converter = CollectLableTypeEnum.Covert.class)
    private String collectionType;

    /**
     * 关联内容(站内表)
     */
    @ApiModelProperty("关联内容(站内表)")
    private String relTable;

    /**
     * 关联内容标识(站内表)
     */
    @ApiModelProperty("关联内容标识(站内表)")
    private Long relId;

    /**
     * 主题图片
     */
    @ApiModelProperty("主题图片")
    private String topicImgUrl;

    /**
     * 主题描述
     */
    @ApiModelProperty("主题描述")
    private String topicDescription;

    /**
     * 内容地址,(站外地址)
     */
    @ApiModelProperty("内容地址,(站外地址)")
    private String contentUrl;

    /**
     * 收藏时间
     */
    @ApiModelProperty("收藏时间")
    private Date collectionTime;

}
